package com.class05.ioc04;

import lombok.ToString;

import java.lang.reflect.Field;
@ToString
public class Test {

    private String id;
    static {
        Class<Test> aClass = Test.class;
        System.out.println(aClass);
        try {
//            获取id字段，并设置访问权限为true

//            getField()方法只能获取public字段，
//            而getDeclaredField()方法可以获取所有字段，包括private字段
            Field id1 = aClass.getDeclaredField("id");
            System.out.println(id1);
            id1.setAccessible(true);
//            创建Test对象
            Test javaObject = aClass.newInstance();
//            设置id字段的值
            id1.set(javaObject, "1");
            System.out.println(javaObject);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }

    }

    public static void main(String[] args) {
        new Test();
    }

}
